今天再繼續昨天未完的工作
再次查看log,發現了跟昨天一樣的錯誤
javax.naming.NameNotFoundException: Name comp/env/jdbc not found in context "java:".
我本來以為只要在web.xml上補上resource-ref就了事了,但是看來並非如此,
遇到沒遇過的問題,先google再說。
上網搜尋關鍵字 Name comp/env/jdbc not found in context "java:"
發現stackoverflow上也有人問了相同的問題,但是都沒得到我要的答案。
後來再想想,才想到我還忘了一個步驟,
由於web.xml的resource-ref是透過console更新上去,而非一開始安裝時就存在的,
因此我們還需要再多走一道步驟,如下:
左側選單[Applications] > [Application Types] >[WebSphere enterprise applications]
點擊進入我們的war檔,並點選 Resource references
進入頁面可以看到,
web.xml中定義的jndi並沒有mapping到我們在WebSphere上建立的jndi
點選Browse...按鈕
在這個頁面會列出WebSphere所有可被使用的jndi項目,
這邊選擇我們先前建立的Iron30即可
按下ok並存檔
重新測試一次
頁面終於成功帶出DB裡的資料了
這邊Resource references的設定,
一般正常情況下,在安裝應用程式時就會有一個步驟要你選擇對應的jndi了,
由於我的war檔在安裝時還沒有使用jndi、在web.xml也沒有定義jndi,因此在安裝時沒有走到這一步驟,
應該很少有人會遇到這種情況吧。